링크된 문서
역링크
Codacy MCP 서버
Codacy MCP 서버
개요
Codacy MCP 서버는 Codacy API와 Model Context Protocol (MCP) 간의 통합을 제공하는 공식 서버입니다. Codacy는 코드 품질, 보안, 테스트 커버리지 및 복잡성을 자동으로 분석하는 도구로, 이 MCP 서버를 통해 AI 어시스턴트가 저장소, 파일, 품질, 커버리지, 보안 등에 접근할 수 있습니다. 이를 통해 코드 품질 문제 분석, 보안 취약점 검토, 코드 중복 식별 등의 작업을 자연어 명령으로 쉽게 수행할 수 있습니다.
특징
- 조직 및 저장소 관리: 조직 목록 조회, 조직 내 저장소 목록 조회, 분석 정보가 포함된 저장소 정보 조회
- 코드 품질 및 분석: 저장소의 코드 품질 문제 목록 조회 및 필터링
- 파일 관리 및 분석: 저장소 내 파일 목록 조회, 파일의 문제 목록 조회, 파일 커버리지 정보 조회
- 보안 분석: 조직 및 특정 저장소의 보안 항목/문제/취약점/발견 사항 목록 조회
- 풀 리퀘스트 분석: 저장소의 풀 리퀘스트 목록 조회, 특정 풀 리퀘스트 세부 정보 조회
- 도구 및 패턴 관리: Codacy에서 사용 가능한 모든 코드 분석 도구 목록 조회, 특정 패턴 정의 조회
- CLI 분석: Codacy CLI를 사용하여 로컬에서 품질 분석 실행
API
리소스
- 조직(Organizations)
- 저장소(Repositories)
- 코드 품질 문제(Code Quality Issues)
- 파일(Files)
- 보안 항목(Security Items)
- 풀 리퀘스트(Pull Requests)
- 도구 및 패턴(Tools and Patterns)
도구
조직 및 저장소 관리
- codacy_list_organizations: 페이지네이션을 지원하는 조직 목록을 조회합니다
- 입력: 페이지 매개변수(선택적)
- 출력: 조직 목록
- codacy_list_organization_repositories: 페이지네이션을 지원하는 조직 내 저장소 목록을 조회합니다
- 입력: 조직 이름, 페이지 매개변수(선택적)
- 출력: 저장소 목록
- codacy_get_repository_with_analysis: 등급, 문제, 중복, 복잡성 및 커버리지에 대한 지표를 포함한 분석 정보가 있는 저장소를 조회합니다
- 입력: 저장소 이름
- 출력: 저장소 분석 정보
코드 품질 및 분석
- codacy_list_repository_issues: 저장소의 코드 품질 문제를 나열하고 필터링합니다. 이 도구는 일반적인 코드 품질 문제(예: 모범 사례, 성능, 복잡성, 스타일)를 조사하는 주요 도구입니다(보안 문제 제외). 보안 관련 문제는 대신 SRM 항목 도구를 사용하세요.
- 입력: 저장소 이름, 다양한 필터 매개변수(심각도, 카테고리, 언어 등)
- 출력: 코드 품질 문제 목록
- 주요 사용 사례:
- 코드 품질 감사
- 기술 부채 평가
- 스타일 가이드 준수 확인
- 성능 문제 조사
- 복잡성 분석
파일 관리 및 분석
- codacy_list_files: 페이지네이션을 지원하는 저장소 내 파일 목록을 조회합니다
- 입력: 저장소 이름, 페이지 매개변수(선택적)
- 출력: 파일 목록
- codacy_get_file_issues: 저장소 내 파일의 문제 목록을 조회합니다
- 입력: 저장소 이름, 파일 경로
- 출력: 파일의 문제 목록
- codacy_get_file_coverage: 저장소 브랜치의 헤드 커밋에 있는 파일의 커버리지 정보를 조회합니다
- 입력: 저장소 이름, 파일 경로, 브랜치 이름(선택적)
- 출력: 파일 커버리지 정보
- codacy_get_file_clones: 저장소 내 파일의 중복 클론(동일하거나 매우 유사한 코드 세그먼트) 목록을 조회합니다
- 입력: 저장소 이름, 파일 경로
- 출력: 파일의 중복 클론 목록
- codacy_get_file_with_analysis: 등급, 문제, 중복, 복잡성 및 커버리지에 대한 지표를 포함한 파일의 상세 분석 정보를 조회합니다
- 입력: 저장소 이름, 파일 경로
- 출력: 파일 분석 정보
보안 분석
- codacy_search_organization_srm_items: 조직 전체에서 보안 항목/문제/취약점/발견 사항을 나열하는 주요 도구입니다. 결과는 Codacy의 보안 및 위험 관리(SRM) 대시보드와 관련이 있습니다.
- 입력: 조직 이름, 다양한 필터 매개변수
- 출력: 보안 항목 목록
- 지원하는 보안 분석 유형:
- SAST(코드 스캐닝)
- Secrets(비밀 스캐닝)
- SCA(종속성 스캐닝)
- IaC(인프라스트럭처-코드 스캐닝)
- CICD(CI/CD 스캐닝)
- DAST(동적 애플리케이션 보안 테스팅)
- PenTesting(침투 테스팅)
- codacy_search_repository_srm_items: 특정 저장소의 보안 항목/문제/취약점/발견 사항을 나열합니다
- 입력: 저장소 이름, 다양한 필터 매개변수
- 출력: 보안 항목 목록
풀 리퀘스트 분석
- codacy_list_repository_pull_requests: 사용자가 액세스할 수 있는 저장소의 풀 리퀘스트를 나열합니다
- 입력: 저장소 이름, 페이지 매개변수(선택적)
- 출력: 풀 리퀘스트 목록
- codacy_get_repository_pull_request: 특정 풀 리퀘스트에 대한 상세 정보를 조회합니다
- 입력: 저장소 이름, 풀 리퀘스트 ID
- 출력: 풀 리퀘스트 세부 정보
- codacy_list_pull_request_issues: 풀 리퀘스트에서 발견된 문제 목록(새로운 문제 또는 수정된 문제)을 반환합니다
- 입력: 저장소 이름, 풀 리퀘스트 ID
- 출력: 풀 리퀘스트 문제 목록
- codacy_get_pull_request_files_coverage: 풀 리퀘스트의 모든 파일에 대한 차이 커버리지 정보를 조회합니다
- 입력: 저장소 이름, 풀 리퀘스트 ID
- 출력: 풀 리퀘스트 파일 커버리지 정보
- codacy_get_pull_request_git_diff: 풀 리퀘스트의 사람이 읽을 수 있는 Git 차이를 반환합니다
- 입력: 저장소 이름, 풀 리퀘스트 ID
- 출력: Git 차이 정보
도구 및 패턴 관리
- codacy_list_tools: Codacy에서 사용 가능한 모든 코드 분석 도구를 나열합니다
- 입력: 없음
- 출력: 도구 목록
- codacy_list_repository_tools: 저장소에 대한 분석 도구 설정 및 사용 가능한 도구를 조회합니다
- 입력: 저장소 이름
- 출력: 저장소 도구 설정 및 사용 가능한 도구 목록
- codacy_get_pattern: 특정 패턴의 정의를 조회합니다
- 입력: 패턴 ID
- 출력: 패턴 정의
- codacy_list_repository_tool_patterns: 저장소에 사용 가능한 도구의 패턴을 나열합니다
- 입력: 저장소 이름, 도구 이름
- 출력: 도구 패턴 목록
- codacy_get_issue: 특정 문제에 대한 상세 정보를 조회합니다
- 입력: 문제 ID
- 출력: 문제 세부 정보
CLI 분석
- codacy_cli_analyze: Codacy CLI를 사용하여 로컬에서 품질 분석을 실행합니다
- 입력: 분석할 파일 또는 디렉터리, 사용할 도구, 기타 설정
- 출력: 분석 결과
- 기능:
- 특정 파일 또는 전체 디렉터리 분석
- 특정 도구 또는 모든 사용 가능한 도구 사용
- 예약된 분석을 기다리지 않고 즉시 결과 얻기
- Codacy 설정을 기반으로 수정 사항 적용
사용 방법
사전 요구사항
- git
- Node.js
- Codacy 계정 API 토큰
설치 및 구성
Codacy 계정 API 토큰 얻기
- Codacy 계정에서 API 토큰을 얻으세요.
Cursor, Windsurf 및 기타 환경에 설치
MCP 서버를 연결하는 환경에 따라 다음 방법을 사용할 수 있습니다:
- Cursor: .cursor/mcp.json 파일 편집
- Windsurf: .codeium/windsurf/mcp_config.json 파일 편집
- Claude Desktop: claude_desktop_config.json 파일 편집
다음을 해당 파일에 추가하세요:
{
"mcpServers": {
"codacy": {
"command": "npx",
"args": ["-y", "@codacy/codacy-mcp"],
"env": {
"CODACY_ACCOUNT_TOKEN": "<YOUR_TOKEN>",
"CODACY_CLI_VERSION": "<VERSION>"
}
}
}
}
VS Code와 Copilot에 설치
VS Code에서 Copilot에 MCP 서버를 연결하려면 IDE의 전역 설정에 다음을 추가하세요:
{
"mcp": {
"inputs": [],
"servers": {
"codacy": {
"command": "npx",
"args": ["-y", "@codacy/codacy-mcp"],
"env": {
"CODACY_ACCOUNT_TOKEN": "<YOUR_TOKEN>",
"CODACY_CLI_VERSION": "<VERSION>"
}
}
}
}
}
사용자 설정 파일은 다음 위치에서 열 수 있습니다:
- macOS: ~/Library/Application Support/Code/User/settings.json
- Windows: %APPDATA%\Code\User\settings.json
- Linux: ~/.config/Code/User/settings.json
CODACY_ACCOUNT_TOKEN 값을 토큰으로 업데이트하는 것을 잊지 마세요.
에이전트 모드를 활성화했는지 확인하세요: vscode://settings/chat.agent.enabled
사용 예시
- "내 조직의 모든 저장소 목록을 보여줘"
- "이 저장소의 코드 품질 문제를 분석해줘"
- "이 파일의 커버리지 정보를 보여줘"
- "우리 조직의 보안 취약점을 찾아줘"
- "이 풀 리퀘스트에서 발견된 문제를 나열해줘"
- "이 저장소에서 사용 가능한 코드 분석 도구를 보여줘"
- "이 파일의 코드 중복을 검사해줘"
CLI 지원
Codacy CLI를 사용하려면 설치가 필요합니다. CODACY_CLI_VERSION 변수는 선택 사항이며, 특정 버전의 CLI를 사용하려는 경우에만 지정하면 됩니다. Codacy CLI를 통해 로컬에서 분석을 실행하고 즉각적인 결과를 얻을 수 있습니다.
노드 문제 해결
NVM과 Claude Desktop을 함께 사용할 때 NPX가 작동하지 않을 수 있습니다. 이 경우 먼저 MCP 서버를 전역적으로 설치한 다음 Node를 직접 사용하세요:
npm install -g @codacy/codacy-mcp
그런 다음 설정 파일을 다음과 같이 수정하세요:
{
"mcpServers": {
"codacy": {
"command": "/Users/yourusername/.nvm/versions/node/vXX.X.X/bin/node",
"args": ["/path-to/codacy-mcp/dist/index.js"],
"env": {
"CODACY_ACCOUNT_TOKEN": "<YOUR_TOKEN>",
"CODACY_CLI_VERSION": "<VERSION>"
}
}
}
}